Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- White Knight



  Some useful Linux commands for teamwork

A small development team in the intranet will frequently transfer codes, share files. Here are some command we use frequently to release some of our work. They are not applicable to Windows users. 1. Output program execution output through GTalk. Sometimes we may need to send the program execution result and log to teammates for debugging using IM. These outputs are very troublesome to copy and send while in command line mode. So we could have a program called gpipe.py which can put GTalk as a p...

   Linux,NFS,GTalk,HTTP     2013-01-16 04:36:33

  Convert number to string in C++

Prior to C++11, there is no built-in function in C++ standard library which can be used to convert numbers such as interger and double number to string.  There are many ways which can convert number to string. Since C++ is C compatible, we can use itoa() function to convert an integer to C style string. But this one can only convert integer to string, not double. For different types of numbers, we need to use different functions. string s = string(itoa(a)); Actually, we can also use strings...

   C++,conversion,number,string     2012-08-14 15:52:48

  How big is sizeof structure?

First let's see the codes of a structure: struct node{ int a; int b; }; Question : What's sizeof(node)? The answer is very simple, on a 32 bit machine, an int will take 4 bytes and two ints will take 8 bytes. So sizeof(node) is 8. The answer for the above codes is 8, then how about the following structure: struct node{ char a; int b; }; Question : Then what's sizeof(node) now? int takes 4 bytes, char takes 1 bytes, is the answer 5? Now the answer may not be 5, on some mac...

   Data structure alignment, pack     2012-10-29 12:13:37

  SQLite C/C++ function interfaces

Some simple introduction to the SQLite function interfaces. First let's check some error codes defined in SQLite3 (They are in SQLite3.h file in the SQLite installation).#define SQLITE_OK           0   /* Successful result */  /* beginning-of-error-codes */  #define SQLITE_ERROR        1   /* SQL error or missing database */  #define SQLITE_INTERNAL     2&nb...

   SQLite,Function interface,C/C++     2012-07-04 12:23:43

  One thought about JavaScript exception handle

Due to network, browser and cache issues, the JS executed in production may produce different results from the testing environments. Sometimes they may produce exceptions. Front-end developers may encounter this kind of exceptions frequently. But how to log and use them is seldomly considered by them. Actually, exception handling includes two steps : log and use. 1. Log Regarding to log error, this is relatively convenient, since in each browser, there is one interface called window.onerror. win...

   JaavScript,Log,Exception,Email     2013-03-18 12:50:21

  How To Find a Great Start-Up Idea

Most people believe that the first step to starting a new company is to have a great idea. Back in business school, there were countless “idea brainstorming” sessions where groups of students would try to come up with the next billion dollar idea. None of them ever turned into anything.Great businesses are not built on ideas for marginal improvements or incremental features, they solve real problems and require a deep understanding of what those problems are. So the absolute worst th...

   Startup idea,Implement,Quickness     2012-03-18 00:26:22

  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  A String is not an Error

I decided to write a little article to discourage an unfortunately common pattern in Node.JS modules (and browser JavaScript, to a lesser extent) that can boil down to these two examples: // A:function myFunction () {  if (somethingWrong) {    throw 'This is my error'  }  return allGood;} and // B: async Node.JS-style callback with signature `fn(err, …)`function myFunction (callback) {  doSomethingAsync(function () {    // …    if (...

   JavaScript,Node.js,String,Error object     2011-12-23 08:00:32

  Guide to use Compass

Sass is one kind of CSS Preprocessor, it can make CSS development simple and maintainable. But to show its real power we may need to have Compass. This article is to introduce Compass. Once you learn Compass, your CSS development efficiency will be largely improved. Here we assume you have mastered the major uses of CSS, if you know Sass, then it's better. It's still ok if you don't know Sass. 1. What is Compass? In simple, Compass it the toolkit of Sass. Sass itself is only a compiler, Compass...

   Compass,CSS,Sass,Tutorial     2012-12-03 13:35:46

  Javascript motion tracking

It is very often that I have to do video motion tracking for interactive video campaign in my daily work. If I’m used used to do that in Flash, I made a quick experiment to do the same in javascript. Thanks to Olof Storm who made me a perfect corner pin motion tracking in After Effects, and I’ve been using some code from Steven Wittens to draw an image in perspective. Click here to see the motion tracking demo (give it a bit of time to fully load). What I’m doing in this dem...

   JavaScript,Motion tracking,Flash     2012-03-20 07:43:46